using System;
using System.Collections.Generic;
using Ornament.Domain;

namespace Ornament.MemberShip
{
    public interface IUserProfileDao : IDao<Profile, Guid>
    {
        int Delete(string[] userName);
        int DeleteAnonymous(DateTime userInactiveSinceDate);
        int DeleteAuthenticated(DateTime userInactiveSinceDate);
        int Delete(DateTime userInactiveSinceDate);
        int CountAnonymous(DateTime userInactiveSinceDate);
        int CountAuthenticated(DateTime userInactiveSinceDate);
        int Count(DateTime userInactiveSinceDate);
        IList<Profile> GetAllAnonymous(int pageIndex, int pageSize, out int totalRecords);
        IList<Profile> GetAllAuthenticated(int pageIndex, int pageSize, out int totalRecords);
        IList<Profile> GetAll(int pageIndex, int pageSize, out int totalRecords);
        IList<Profile> FindProfileByUser(string loginId);
        
    }
}